import javax.swing.*;
import java.beans.*;

import java.util.*;
public class ListarPrestamos extends Observable {

    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JList jList1;
    private javax.swing.JScrollPane jScrollPane1;
    Vector resultados;
    
    M_Prestamo prestamo;
    
    
	JFrame ventanaListarPrestamos;

    public ListarPrestamos() {
        levantaVista();
        prestamo=new M_Prestamo();
        getPrestamos();
        generaResultados();
    }
    

    private void levantaVista() {
        ventanaListarPrestamos=new JFrame();
        jLabel3 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jList1 = new javax.swing.JList();

        ventanaListarPrestamos.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        ventanaListarPrestamos.setTitle("Sistema de administraci\u00f3n.... - Prestamos en curso");
        ventanaListarPrestamos.setResizable(false);
        jLabel3.setFont(new java.awt.Font("Arial", 1, 14));
        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel3.setText("Prestamos en Curso");
		 ImageIcon volvericon = new ImageIcon("images/left_16x16.gif");
        jButton1.setIcon(volvericon);
        jButton1.setText("Volver");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jScrollPane1.setViewportView(jList1);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(ventanaListarPrestamos.getContentPane());
        ventanaListarPrestamos.getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                        .addContainerGap()
                        .add(jLabel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 584, Short.MAX_VALUE))
                    .add(layout.createSequentialGroup()
                        .addContainerGap()
                        .add(jButton1))
                    .add(layout.createSequentialGroup()
                        .add(26, 26, 26)
                        .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 543, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .add(jLabel3)
                .add(24, 24, 24)
                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 285, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 30, Short.MAX_VALUE)
                .add(jButton1)
                .addContainerGap())
        );
        ventanaListarPrestamos.pack();
        ventanaListarPrestamos.setVisible(true);
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
	this.setChanged();
	this.notifyObservers(); 
	ventanaListarPrestamos.dispose();
    }                                        
    

    public static void main(String args[]) {
    ListarPrestamos a= new ListarPrestamos();
    }
    
	private void getPrestamos(){
		prestamo.getPrestamos();
		
	}

	
	private void generaResultados(){  
 	
 	String cadenaResultado;
	resultados=new Vector();
	
	for (int i=0; i<prestamo.numeroPrestamosEnCurso;i++){
			cadenaResultado ="Prestamo en curso | Nombre del prestatario= \""+prestamo.listaPrestamosEnCurso[i][3]+" "+prestamo.listaPrestamosEnCurso[i][4] +"\" | rut= \""+ prestamo.listaPrestamosEnCurso[i][5]+"\" | Nombre del volumen = \""+ prestamo.listaPrestamosEnCurso[i][6]+"\" | Titulo del volumen = \""+prestamo.listaPrestamosEnCurso[i][7] +"\" | Autor del volumen = \""+ prestamo.listaPrestamosEnCurso[i][8]+"\" | Fecha del prestamo = \""+prestamo.listaPrestamosEnCurso[i][1] +"\" | Duracion del prestamo = "+prestamo.listaPrestamosEnCurso[i][2]+" dias  | Codigo unico del volumen = "+ generarIdUnico(prestamo.listaPrestamosEnCurso[i][10].toString(), prestamo.listaPrestamosEnCurso[i][9].toString())+"";
		
			resultados.addElement(cadenaResultado);
		
	}
 	
 	for (int i=0; i<prestamo.numeroPrestamosTerminados;i++){
 		
			cadenaResultado ="Prestamo terminado | Nombre del prestatario= \""+prestamo.listaPrestamosTerminados[i][5]+" "+prestamo.listaPrestamosTerminados[i][6] +"\" | rut= \""+prestamo.listaPrestamosTerminados[i][7] +"\" | Nombre del volumen = \""+prestamo.listaPrestamosTerminados[i][8] +"\" | Titulo del volumen = \""+prestamo.listaPrestamosTerminados[i][9] +"\" | Autor del volumen = \""+prestamo.listaPrestamosTerminados[i][10] +"\" | Fecha del prestamo = \""+prestamo.listaPrestamosTerminados[i][1]+"\" | Duracion del prestamo = "+prestamo.listaPrestamosTerminados[i][2]+" dias | Fecha de devolucion = \""+prestamo.listaPrestamosTerminados[i][3] +"\" | Codigo unico del volumen = "+ generarIdUnico(prestamo.listaPrestamosTerminados[i][12].toString(), prestamo.listaPrestamosTerminados[i][11].toString())+" ";
			
			resultados.addElement(cadenaResultado);
	}
	
	for (int i=0; i<prestamo.numeroPrestamosAtrasados;i++){
 		
			cadenaResultado ="Prestamo terminado con devolucion atrasada | Nombre del prestatario= \""+prestamo.listaPrestamosAtrasados[i][5]+" "+ prestamo.listaPrestamosAtrasados[i][6]+"\" | rut= \""+prestamo.listaPrestamosAtrasados[i][7] +"\" | Nombre del volumen = \""+prestamo.listaPrestamosAtrasados[i][8] +"\" | Titulo del volumen = \""+ prestamo.listaPrestamosAtrasados[i][9]+"\" | Autor del volumen = \""+prestamo.listaPrestamosAtrasados[i][10] +"\" | Fecha del prestamo = \""+prestamo.listaPrestamosAtrasados[i][1] +"\" | Duracion del prestamo = "+prestamo.listaPrestamosAtrasados[i][2]+" dias | Fecha de devolucion = \""+ prestamo.listaPrestamosAtrasados[i][3]+" \"  | Codigo unico del volumen = "+ generarIdUnico(prestamo.listaPrestamosAtrasados[i][12].toString(), prestamo.listaPrestamosAtrasados[i][11].toString())+" ";
		
			resultados.addElement(cadenaResultado);
	}
	
	for (int i=0; i<prestamo.numeroPrestamosRenovados;i++){
 		
			cadenaResultado ="Prestamo renovado | Nombre del prestatario= \""+prestamo.listaPrestamosRenovados[i][3]+" "+prestamo.listaPrestamosRenovados[i][4] +"\" | rut= \""+ prestamo.listaPrestamosRenovados[i][5]+"\" | Nombre del volumen = \""+ prestamo.listaPrestamosRenovados[i][6]+"\" | Titulo del volumen = \""+ prestamo.listaPrestamosRenovados[i][7]+"\" | Autor del volumen = \""+prestamo.listaPrestamosRenovados[i][8] +"\" | Fecha del prestamo = \""+prestamo.listaPrestamosRenovados[i][1] +"\" | Duracion del prestamo = "+prestamo.listaPrestamosRenovados[i][2]+" dias | Codigo unico del volumen = "+generarIdUnico(prestamo.listaPrestamosRenovados[i][10].toString(),prestamo.listaPrestamosRenovados[i][9].toString())+" ";
	
			resultados.addElement(cadenaResultado);
	}
 	jList1.setListData(resultados);
 	}

	public String generarIdUnico(String vol, String mat){
		int largoCodVol= vol.length();
		int largoCodMat= mat.length();
		String codVolFixed=vol;
		String codMatFixed=mat;
		//procesa el codVol maximo 6 digitos para volumenes por material
		for (int i=largoCodVol; i<6; i++)
		codVolFixed="0"+codVolFixed;
		
		//procesa el codMat maximo 5 digitos para materiales
		for (int i=largoCodMat; i<5; i++)
		codMatFixed="0"+codMatFixed;
		
		
		return codMatFixed+codVolFixed;


}

}